package io;


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
 * 对象流
 * java。io.ObjectInputStrean和ObjectOutputStream
 * 对象流是一对高级流 在流链接中的作用是进行对象序列化与反序列化
 * 对象序列化  将一个对象按照其结构转换为一组字节的过程
 * 对象反序列化 将一组字节（必须是序列化的一组字节）还原为一个对象的过程
 */
public class OOSDemo {
    public static void main(String[] args) throws IOException {
        //将一个person实例写入文件pers。obj中
        String name = "苍老师";
        int age = 18;
        String gender = "女";
        String[] otherInof = {"是个演员","启蒙老师"};
        Person p = new Person(name,age,gender,otherInof);

        FileOutputStream fin = new FileOutputStream("person.obj");
        ObjectOutputStream oos = new ObjectOutputStream(fin);
        /*
          对象输出流在进行对象序列化时要求写出的对象必须实现可序列化接口
          java。io.Serializable
         */
        oos.writeObject(p);
        System.out.println("写入完毕");
        oos.close();
    }
}
